{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Chapter 5 Code - Python 3 version\n",
    "\n",
    "### glassENetRegCV.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nVewAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f479b90fe10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Minimum Missclassification Error Rate\n",
      "0.37383177570093457\n"
     ]
    }
   ],
   "source": [
    "import urllib.request, urllib.error, urllib.parse\n",
    "from math import sqrt, fabs, exp\n",
    "import matplotlib.pyplot as plot\n",
    "from sklearn.linear_model import enet_path\n",
    "from sklearn.metrics import roc_auc_score, roc_curve\n",
    "import numpy\n",
    "\n",
    "\n",
    "target_url = \"https://archive.ics.uci.edu/ml/machine-learning-databases/glass/glass.data\"\n",
    "data = urllib.request.urlopen(target_url)\n",
    "\n",
    "#arrange data into list for labels and list of lists for attributes\n",
    "xList = []\n",
    "for line in data:\n",
    "    #split on comma\n",
    "    row = line.decode().strip().split(\",\")\n",
    "    xList.append(row)\n",
    "\n",
    "names = ['RI', 'Na', 'Mg', 'Al', 'Si', 'K', 'Ca', 'Ba', 'Fe', 'Type']\n",
    "\n",
    "#Separate attributes and labels\n",
    "xNum = []\n",
    "labels = []\n",
    "\n",
    "for row in xList:\n",
    "    labels.append(row.pop())\n",
    "    l = len(row)\n",
    "    #eliminate ID\n",
    "    attrRow = [float(row[i]) for i in range(1, l)]\n",
    "    xNum.append(attrRow)\n",
    "\n",
    "#number of rows and columns in x matrix\n",
    "nrow = len(xNum)\n",
    "ncol = len(xNum[1])\n",
    "\n",
    "#creat one versus all label vectors\n",
    "#get distinct glass types and assign index to each\n",
    "yOneVAll = []\n",
    "labelSet = set(labels)\n",
    "labelList = list(labelSet)\n",
    "labelList.sort()\n",
    "nlabels = len(labelList)\n",
    "for i in range(nrow):\n",
    "    yRow = [0.0]*nlabels\n",
    "    index = labelList.index(labels[i])\n",
    "    yRow[index] = 1.0\n",
    "    yOneVAll.append(yRow)\n",
    "\n",
    "#calculate means and variances\n",
    "xMeans = []\n",
    "xSD = []\n",
    "for i in range(ncol):\n",
    "    col = [xNum[j][i] for j in range(nrow)]\n",
    "    mean = sum(col)/nrow\n",
    "    xMeans.append(mean)\n",
    "    colDiff = [(xNum[j][i] - mean) for j in range(nrow)]\n",
    "    sumSq = sum([colDiff[i] * colDiff[i] for i in range(nrow)])\n",
    "    stdDev = sqrt(sumSq/nrow)\n",
    "    xSD.append(stdDev)\n",
    "\n",
    "#use calculate mean and standard deviation to normalize xNum\n",
    "xNormalized = []\n",
    "for i in range(nrow):\n",
    "    rowNormalized = [(xNum[i][j] - xMeans[j])/xSD[j] for j in range(ncol)]\n",
    "    xNormalized.append(rowNormalized)\n",
    "\n",
    "#normalize y's to center\n",
    "yMeans = []\n",
    "ySD = []\n",
    "for i in range(nlabels):\n",
    "    col = [yOneVAll[j][i] for j in range(nrow)]\n",
    "    mean = sum(col)/nrow\n",
    "    yMeans.append(mean)\n",
    "    colDiff = [(yOneVAll[j][i] - mean) for j in range(nrow)]\n",
    "    sumSq = sum([colDiff[i] * colDiff[i] for i in range(nrow)])\n",
    "    stdDev = sqrt(sumSq/nrow)\n",
    "    ySD.append(stdDev)\n",
    "\n",
    "yNormalized = []\n",
    "for i in range(nrow):\n",
    "    rowNormalized = [(yOneVAll[i][j] - yMeans[j])/ySD[j] for j in range(nlabels)]\n",
    "    yNormalized.append(rowNormalized)\n",
    "\n",
    "\n",
    "#number of cross validation folds\n",
    "nxval = 10\n",
    "nAlphas=400\n",
    "misClass = [0.0] * nAlphas\n",
    "\n",
    "for ixval in range(nxval):\n",
    "    #Define test and training index sets\n",
    "    idxTest = [a for a in range(nrow) if a%nxval == ixval%nxval]\n",
    "    idxTrain = [a for a in range(nrow) if a%nxval != ixval%nxval]\n",
    "\n",
    "    #Define test and training attribute and label sets\n",
    "    xTrain = numpy.array([xNormalized[r] for r in idxTrain])\n",
    "    xTest = numpy.array([xNormalized[r] for r in idxTest])\n",
    "    yTrain = [yNormalized[r] for r in idxTrain]\n",
    "    yTest = [yNormalized[r] for r in idxTest]\n",
    "    labelsTest = [labels[r] for r in idxTest]\n",
    "\n",
    "    #build model for each column in yTrain\n",
    "    models = []\n",
    "    lenTrain = len(yTrain)\n",
    "    lenTest = nrow - lenTrain\n",
    "\n",
    "    for iModel in range(nlabels):\n",
    "        yTemp = numpy.array([yTrain[j][iModel] for j in range(lenTrain)])\n",
    "        models.append(enet_path(xTrain, yTemp,l1_ratio=1.0, fit_intercept=False, eps=0.5e-3, n_alphas=nAlphas , return_models=False))\n",
    "\n",
    "    for iStep in range(1,nAlphas):\n",
    "        #Assemble the predictions for all the models, find largest prediction and calc error\n",
    "        allPredictions = []\n",
    "        for iModel in range(nlabels):\n",
    "            _, coefs, _ = models[iModel]\n",
    "            predTemp = list(numpy.dot(xTest, coefs[:,iStep]))\n",
    "            #un-normalize the prediction for comparison\n",
    "            predUnNorm = [(predTemp[j]*ySD[iModel] + yMeans[iModel]) for j in range(len(predTemp))]\n",
    "            allPredictions.append(predUnNorm)\n",
    "\n",
    "        predictions = []\n",
    "        for i in range(lenTest):\n",
    "            listOfPredictions = [allPredictions[j][i] for j in range(nlabels) ]\n",
    "            idxMax = listOfPredictions.index(max(listOfPredictions))\n",
    "            if labelList[idxMax] != labelsTest[i]:\n",
    "                misClass[iStep] += 1.0\n",
    "\n",
    "misClassPlot = [misClass[i]/nrow for i in range(1, nAlphas)]\n",
    "\n",
    "plot.plot(misClassPlot)\n",
    "\n",
    "plot.xlabel(\"Penalty Parameter Steps\")\n",
    "plot.ylabel((\"Misclassification Error Rate\"))\n",
    "plot.show()\n",
    "\n",
    "print(\"Minimum Missclassification Error Rate\")\n",
    "print(min(misClassPlot))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### rocksVMinesCoefCurves.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/mike/Applications/anaconda/envs/py36/lib/python3.6/site-packages/matplotlib/axes/_base.py:2923: UserWarning: Attempted to set non-positive xlimits for log-scale axis; invalid limits will be ignored.\n",
      "  'Attempted to set non-positive xlimits for log-scale axis; '\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAEOCAYAAAB1g0unAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzsvXmYXcdZ5/+ps9x96b6975ska5ds\nSd5kW97tJCQeQhLsbIQAAQJDGAYGGObHMAEGJgmQMARm8iT5MQGGQMBZbLwk3lc5kiVrX1rdrVbv\nffv23Zdzz1Lzx2m1WrJst221WrLP53nqqXPOrXNO3dtSfavqfestIaXEw8PDw8NjMSjLXQEPDw8P\nj8sHTzQ8PDw8PBaNJxoeHh4eHovGEw0PDw8Pj0XjiYaHh4eHx6LxRMPDw8PDY9F4ouHh4eHhsWg8\n0fDw8PDwWDSeaHh4eHh4LBpPNDw8PDw8Fo223BW40NTX18vu7u7lroaHh4fHZcXLL788I6VseKNy\n7zjR6O7uZvfu3ctdDQ8PD4/LCiHE8GLKedNTHh4eHh6LxhMNDw8PD49F44mGh4eHh8ei8UTDw8PD\nw2PReKLh4eHh4bFoPNHw8PDw8Fg07ziXWw8PDw+PN6bqOKRNm1nTImVai77PEw0PDw+PdwimI5mu\nmkxVTaYNi+mqyXTVIlk1mTEtklWLmaorElnLfkvv8ETDw8PD4zLAdCQTRpXRismYUWW8YjJuVJkw\nTCYMk8mqyUzVQp7n3oSuUq/r1Ps0NkSD1Omam3waCV0joavcuMh6eKLh4eHhcQkgpWTGtDhZrnKy\nbDBcrjJcMRgpVxmpuOLgnHNPQldp8es0+3xsjoVo8uk0+bW5XKfRp1Gv6+iKuGD19ETDw8PD4yKS\nt2wGSgYDpQoDZYPBkpuGygZ5+4wsCKDFr9MZ8HFdTYSOgI+OoI92v4+2gE6L30dIvfi+TJ5oeHh4\neCwBOcvmWLHC0WKZY8UKx4sV+ksGE4Y5X0YB2gM++kJ+tsbD9Ib8dAf9dM+JQ2AZROGN8ETDw8PD\n420ybZjsy5c4UChzMF/mYKHMqUp1/vOQqrAy5Gd7TYRV4QB9IT8rQgG6gz78yqUnDK+HJxoeHh4e\nb4KCZfNKvsTeXIk9uRKv5EvzowcB9Ab9bI6F+FhLHWsiAVaHA7QHfCjiwtkVlhNPNDw8PDxehwmj\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4783fe9748>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Attributes Ordered by How Early They Enter the Model\n",
      "['V10', 'V48', 'V11', 'V44', 'V35', 'V51', 'V20', 'V3', 'V21', 'V45', 'V43', 'V15', 'V0', 'V22', 'V27', 'V50', 'V53', 'V30', 'V58', 'V56', 'V28', 'V39', 'V46', 'V19', 'V54', 'V29', 'V57', 'V6', 'V8', 'V7', 'V49', 'V2', 'V23', 'V37', 'V55', 'V4', 'V13', 'V36', 'V38', 'V26', 'V31', 'V1', 'V34', 'V33', 'V24', 'V16', 'V17', 'V5', 'V52', 'V41', 'V40', 'V59', 'V12', 'V9', 'V18', 'V14', 'V47', 'V42']\n",
      "\n",
      "Best Coefficient Values \n",
      "[0.082258256813765626, 0.002061988722006605, -0.11828642590856027, 0.1663395693249955, 0.0042854388193730381, -0.0, -0.043662524745941997, -0.077515104879426602, 0.10000054356323407, 0.0, 0.090617207036281927, 0.21210870399915741, -0.0, -0.010655386149822001, -0.0, -0.13328659558143741, -0.0, 0.0, 0.0, 0.052814854501414883, 0.03853115479672567, 0.0035515348181779059, 0.090854714680385848, 0.030316113904023431, -0.0, 0.0, 0.0086195542357475653, 0.0, 0.0, 0.1749767925727248, -0.22156878046172016, 0.012614243827936883, 0.0, -0.0, 0.0, -0.17160601809439874, -0.080450013824209465, 0.078096790041520342, 0.02203528761676388, -0.072184409273691783, 0.0, -0.0, 0.0, 0.057018816876247956, 0.096478265685732562, 0.039917367637225316, 0.049158231541627719, 0.0, 0.22671917920123438, -0.096272735479949842, 0.0, 0.078886784332227011, 0.0, 0.062312821755756073, -0.082785510713295457, 0.014466967172068466, -0.074326527525632749, 0.068096475974257706, 0.070488864435477736, 0.0]\n",
      "\n",
      "Attributes Ordered by Coef Size at Optimum alpha\n",
      "['V48', 'V30', 'V11', 'V29', 'V35', 'V3', 'V15', 'V2', 'V8', 'V44', 'V49', 'V22', 'V10', 'V54', 'V0', 'V36', 'V51', 'V37', 'V7', 'V56', 'V39', 'V58', 'V57', 'V53', 'V43', 'V19', 'V46', 'V6', 'V45', 'V20', 'V23', 'V38', 'V55', 'V31', 'V13', 'V26', 'V4', 'V21', 'V1']\n"
     ]
    }
   ],
   "source": [
    "__author__ = 'mike_bowles'\n",
    "import urllib.request, urllib.error, urllib.parse\n",
    "from math import sqrt, fabs, exp\n",
    "import matplotlib.pyplot as plot\n",
    "from sklearn.linear_model import enet_path\n",
    "from sklearn.metrics import roc_auc_score, roc_curve\n",
    "import numpy\n",
    "\n",
    "#read data from uci data repository\n",
    "target_url = \"https://archive.ics.uci.edu/ml/machine-learning-databases/undocumented/connectionist-bench/sonar/sonar.all-data\"\n",
    "data = urllib.request.urlopen(target_url)\n",
    "\n",
    "\n",
    "#arrange data into list for labels and list of lists for attributes\n",
    "xList = []\n",
    "\n",
    "\n",
    "for line in data:\n",
    "    #split on comma\n",
    "    row = line.decode().strip().split(\",\")\n",
    "    xList.append(row)\n",
    "\n",
    "#separate labels from attributes, convert from attributes from string to numeric and convert \"M\" to 1 and \"R\" to 0\n",
    "\n",
    "xNum = []\n",
    "labels = []\n",
    "\n",
    "for row in xList:\n",
    "    lastCol = row.pop()\n",
    "    if lastCol == \"M\":\n",
    "        labels.append(1.0)\n",
    "    else:\n",
    "        labels.append(0.0)\n",
    "    attrRow = [float(elt) for elt in row]\n",
    "    xNum.append(attrRow)\n",
    "\n",
    "#number of rows and columns in x matrix\n",
    "nrow = len(xNum)\n",
    "ncol = len(xNum[1])\n",
    "\n",
    "alpha = 1.0\n",
    "\n",
    "#calculate means and variances\n",
    "xMeans = []\n",
    "xSD = []\n",
    "for i in range(ncol):\n",
    "    col = [xNum[j][i] for j in range(nrow)]\n",
    "    mean = sum(col)/nrow\n",
    "    xMeans.append(mean)\n",
    "    colDiff = [(xNum[j][i] - mean) for j in range(nrow)]\n",
    "    sumSq = sum([colDiff[i] * colDiff[i] for i in range(nrow)])\n",
    "    stdDev = sqrt(sumSq/nrow)\n",
    "    xSD.append(stdDev)\n",
    "\n",
    "#use calculate mean and standard deviation to normalize xNum\n",
    "xNormalized = []\n",
    "for i in range(nrow):\n",
    "    rowNormalized = [(xNum[i][j] - xMeans[j])/xSD[j] for j in range(ncol)]\n",
    "    xNormalized.append(rowNormalized)\n",
    "\n",
    "#normalize labels to center\n",
    "\n",
    "meanLabel = sum(labels)/nrow\n",
    "sdLabel = sqrt(sum([(labels[i] - meanLabel) * (labels[i] - meanLabel) for i in range(nrow)])/nrow)\n",
    "\n",
    "labelNormalized = [(labels[i] - meanLabel)/sdLabel for i in range(nrow)]\n",
    "\n",
    "#Convert normalized labels to numpy array\n",
    "Y = numpy.array(labelNormalized)\n",
    "\n",
    "#Convert normalized attributes to numpy array\n",
    "X = numpy.array(xNormalized)\n",
    "\n",
    "alphas, coefs, _ = enet_path(X, Y,l1_ratio=0.8, fit_intercept=False, return_models=False)\n",
    "\n",
    "plot.plot(alphas,coefs.T)\n",
    "\n",
    "plot.xlabel('alpha')\n",
    "plot.ylabel('Coefficients')\n",
    "plot.axis('tight')\n",
    "plot.semilogx()\n",
    "ax = plot.gca()\n",
    "ax.invert_xaxis()\n",
    "plot.show()\n",
    "\n",
    "nattr, nalpha = coefs.shape\n",
    "\n",
    "#find coefficient ordering\n",
    "nzList = []\n",
    "for iAlpha in range(1,nalpha):\n",
    "    coefList = list(coefs[: ,iAlpha])\n",
    "    nzCoef = [index for index in range(nattr) if coefList[index] != 0.0]\n",
    "    for q in nzCoef:\n",
    "        if not(q in nzList):\n",
    "            nzList.append(q)\n",
    "\n",
    "#make up names for columns of X\n",
    "names = ['V' + str(i) for i in range(ncol)]\n",
    "nameList = [names[nzList[i]] for i in range(len(nzList))]\n",
    "print(\"Attributes Ordered by How Early They Enter the Model\")\n",
    "print(nameList)\n",
    "print('')\n",
    "\n",
    "#find coefficients corresponding to best alpha value. alpha value corresponding to\n",
    "#normalized X and normalized Y is 0.020334883589342503\n",
    "\n",
    "alphaStar = 0.020334883589342503\n",
    "indexLTalphaStar = [index for index in range(100) if alphas[index] > alphaStar]\n",
    "indexStar = max(indexLTalphaStar)\n",
    "\n",
    "#here's the set of coefficients to deploy\n",
    "coefStar = list(coefs[:,indexStar])\n",
    "print(\"Best Coefficient Values \")\n",
    "print(coefStar)\n",
    "print('')\n",
    "\n",
    "#The coefficients on normalized attributes give another slightly different ordering\n",
    "\n",
    "absCoef = [abs(a) for a in coefStar]\n",
    "\n",
    "#sort by magnitude\n",
    "coefSorted = sorted(absCoef, reverse=True)\n",
    "\n",
    "idxCoefSize = [absCoef.index(a) for a in coefSorted if not(a == 0.0)]\n",
    "\n",
    "namesList2 = [names[idxCoefSize[i]] for i in range(len(idxCoefSize))]\n",
    "\n",
    "print(\"Attributes Ordered by Coef Size at Optimum alpha\")\n",
    "print(namesList2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### rocksVMinesENetRegCV.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEOCAYAAAB4nTvgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzt3Xd41fX5+P/nnb1IyEQgQBKKrBDC\nEhHZVKlatFZbbRVxVqu141KLtrV+8ddlhxWlzo+jtO5VqtTBElFUQBBlQxIggGRA9k5evz/O4CQ5\nOeckOSfn5OR+XNe5yHmf9znnDifn3Oe17pcYY1BKKaVcCfF3AEoppQKfJgullFJuabJQSinlliYL\npZRSbmmyUEop5ZYmC6WUUm5pslBKKeWWJgullFJuabJQSinlliYLpZRSboX5OwBvSUlJMRkZGf4O\nQ6l28oqrAchKjfVzJEq1t3Xr1hJjTKq784ImWWRkZLBlyxZ/h6FUO99/fBMAL/1omp8jUao9ETnk\nyXlBkyyUClQ/mTvC3yEo1W2aLJTysXNHpPg7BKW6TQe4lfKxncfK2Xms3N9hKNUt2rJQAa+xsZHC\nwkLq6ur8HUqXlFbWA7C7PNLPkai+LCoqivT0dMLDw7t0f00WKuAVFhbSr18/MjIyEBF/h9NpEcVV\nAAxPjfNzJKqvMsZQWlpKYWEhmZmZXXoM7YZSAa+uro7k5ORemSiUCgQiQnJycrda59qy8NCqL4+z\n9dAp+/Wxg+K5dGK6HyPqWzRRKNU93X0PacvCAyVV9dz2/Of838Z8++UXL3/BiYre2YeuOk9EuPrq\nq+3Xm5qaSE1N5aKLLgJg5cqV/PGPf+z0486ePdtr64O2bNnC7bffDkB9fT3z588nNzeXl156iRtu\nuIFdu3Z1+jG3b9/OqlWr7Ne7+ns6ExoaSm5urv3ircd15ac//SmDBw+mpaXF58/lSkFBAdHR0a1+\n/4aGhg7Pf/bZZ7ntttuc3hYX1zPdm9qy8MC6PUW0GEtr4jsTBvPvTw+TX1LNgaIqBsRH+Ts81QNi\nY2P56quvqK2tJTo6mvfff5/Bgwfbb1+4cCELFy50et8zeuhvZPLkyUyePBmAbdu20djYyPbt2wH4\n/ve/36XH3L59O1u2bOGCCy4AXP+enRUdHW2PryPNzc2Ehobarzc1NREW5v5jy9l5LS0tvPHGGwwZ\nMoQNGzYwe/Zsj2NtG4c3DB8+3O3vH0i0ZeGBNbuLALhiyhBumJHFlIxEAPJKqv0Zluph3/rWt3j7\n7bcBeOGFF7jyyivttzl+83vllVfIzs5m/PjxzJw5k9jIMKLChDvuuINx48aRk5PDww8/3O7xb7nl\nFiZPnszYsWP57W9/az++ZMkSxowZQ05ODnfccYfT5wBYv349F110EUVFRVx11VVs376d3NxcDh48\n2KoF88477zBx4kTGjx/PvHnzAPjss88455xzmDBhAueccw579+6loaGBe++9l5deesneQnH8PQ8d\nOsS8efPIyclh3rx5HD58GIDFixdz++23c84555CVlcWrr77aqf/njIwMli5dyrnnnssrr7zC7Nmz\nueeee5g1axYPPfSQy+f9xS9+wZw5c/jlL3/Z7nHXrVtHdnY2t9xyCy+88IL9eFVVFddee639tXnt\ntdcAyzf2e++9l6lTp7Jp0ybWrFnDhAkTGDduHNdddx319fWden08cfLkSS655BJycnI4++yz2bFj\nR7tz8vPzmTZtGlOmTOE3v/mN/fjx48eZOXMmubm5ZGdn8+GHH3r8vJ7QloUb9U3NfLi/GIA5o9IA\nyEyxNPvyizVZ9LSMJW/75HEL/nih23OuuOIKli5dykUXXcSOHTu47rrrnL4hly5dyrvvvsvgwYMp\nKyujur6JJ594jPz8fLZt20ZYWBgnT55sd7/f/e53JCUl0dzczLx589ixYwfp6em88cYb7NmzBxGh\nrKzM6XM4SktL46mnnuIvf/kLb731VqvbiouLufHGG9mwYQOZmZn2OEaNGsWGDRsICwtj9erV3HPP\nPbz22mssXbqULVu28MgjjwCWpGhz2223sWjRIq655hqefvppbr/9dt58803A8sG1ceNG9uzZw8KF\nC7nsssva/b61tbXk5ubar9999932FlBUVBQbN24E4LHHHqOsrIwPPvgAgG9/+9sdPu++fftYvXq1\n01aALcFffPHF3HPPPTQ2NhIeHs79999PQkICX375JQCnTlnGJqurq8nOzmbp0qXU1dUxYsQI1qxZ\nw5lnnsmiRYt49NFHWbRoUadfH5uDBw/af//p06ezfPlyfvvb3zJhwgTefPNN1q5dy6JFi9q1Pn76\n059yyy23sGjRIpYvX24//vzzz3P++efzq1/9iubmZmpqapw+b1dpy8KNT/NOUt3QzKgz+pGeGANA\n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\nQVrKBsSkAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4790094ef0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nEG3atCEgoGqTnFqyOEtZufnEHc7A30+ItL8sa7UXv98JOJJFUlISDRo0ICIiwpbXNV6nqqSmppKU\nlESHDh2qdI9KNXCb023an06hQo+WDQgO9Pd2OKaayMnJITw83BKFqRZEhPDw8LMq6VqyOEvrihq3\nbXyFKcUShalOzvb/oyWLs7TeORjPGrdNdbRw4UJEhO3bf13ocunSpVx22WWnnDdp0iQWLFgAQF5e\nHlOnTqVLly5ERkYycOBAvvjiizLvn5ycTEBAADNnzvTci3DRpEmT6NChA9HR0URHRzNjxoxyz4+I\niCAlJeW0/Y899hjPP/+8p8KssSxZnKWiaT6scdtUR3PnzuX8889n3rx5Ll8zbdo0Dh48yObNm9m8\neTOffvopGRkZZZ77wQcfMHjwYObOnVupuPLz8yt1vquee+451q9fz/r167n33ns98ozaypLFWTiU\nnsPh47k0CKpDh/B63g7HeNlT1/TmqWt6ezuMYpmZmfz444/897//dTlZZGdn88Ybb/Diiy9St25d\nAJo3b84NN9xQ5vlz587lhRdeICkpif379xfv//LLL+nXrx99+vThoosuAhx/sd9xxx2MHj2am2++\nmZycHG699VZ69+5N3759WbJkCQBbtmxh4MCBREdHExUVxc6dO8nKyuLSSy+lT58+REZGMn/+fJd/\nDnPnzqV3795ERkby8MMPl3nOk08+Sbdu3Rg1ahQ7duwo3j9jxgx69uxJVFQU48ePd/mZvsh6Q52F\nDUmOUkVUm1D8bKbZWq9T0/reDuEUH3/8MWPHjqVr166EhYWxdu1a+vXrV+41u3btol27djRs2LDC\n++/bt49Dhw4xcOBAbrjhBubPn8+f/vQnkpOTuf3221m2bBkdOnTg6NGjxdfExsayYsUKgoODeeGF\nFwDYtGkT27dvZ/To0cTFxfHaa69x3333ceONN3Ly5EkKCgpYvHgxrVq14vPPPwcgPT29zJgefPBB\nnnjiCQBmz55NeHg4Dz/8MLGxsTRu3JjRo0fz8ccfc9VVV50S07x581i3bh35+fn069ePmJgYAP71\nr3+xZ88e6tatS1paWoU/E19myeIsbCxOFlYFZeDbrYcBGNWz+Sn7I6Z+7pHnJfzr0nKPz507l/vv\nvx+A8ePHM3fuXPr163fGhs7KNoDOmzevuMQxfvx4brvtNv70pz/x888/M3z48OIummFhv67vccUV\nVxAcHAzAihUruOeeewDo3r077du3Jy4ujiFDhvDkk0+SlJTENddcQ5cuXejduzcPPPAADz/8MJdd\ndhnDhg0rM6bnnnuO6667rnj7k08+YeTIkTRt2hSAG2+8kWXLlp2SLJYvX87VV19NSEhIcYxFoqKi\nuPHGG7nqqqtOuaY2smqos7AxyfHXTZ82Nr7CwBvL43ljeby3wwAgNTWV77//nsmTJxMREcFzzz3H\n/PnzUVXCw8M5duzYKecfPXqUJk2a0LlzZxITE8/YRlHS3LlzmTVrFhEREVxxxRVs2LCBnTt3oqpn\nTDz16v1aXauqZZ7z29/+lkWLFhEcHMyYMWP4/vvv6dq1K7GxsfTu3ZtHHnmExx9/3KWfw5meUdqZ\n4v3888+56667iI2NJSYmxmNtLTWBlSyqSFV/TRbWbdaUo6ISgCcsWLCAm2+++ZReSiNGjGDFihUM\nHDiQAwcOsG3bNnr06MHevXvZsGED0dHRhISEcNttt3Hvvfcyc+ZMAgMDOXjwIN999x0TJ04svteO\nHTvIyso6pZ3i0UcfZd68eUyZMoW77rqLPXv2FFdDlSxdFBk+fDjvvvsuF154IXFxcSQmJtKtWzfi\n4+Pp2LEj9957L/Hx8WzcuJHu3bsTFhbGxIkTqV+/PrNmzXLp5zBo0CDuu+8+UlJSaNy4MXPnzi0u\nzZSMY9KkSUydOpX8/Hw+/fRT7rzzTgoLC9m3bx8XXHAB559/Pu+99x6ZmZk0alQ7f98tWVTR3tRs\n0k/k0bRBXVrYTLOmmpk7dy5Tp566ksC1117Le++9x7Bhw5gzZw633norOTk5BAQE8OabbxIa6igh\nP/HEE/ztb3+jZ8+eBAUFUa9evdP+kp87dy5XX331afcfP34806ZN4/XXX+eaa66hsLCQZs2a8c03\n35wW4x/+8AemTJlC7969qVOnDrNmzaJu3brMnz+fOXPmEBAQQIsWLfj73//O6tWrefDBB/Hz8yMg\nIIBXX33VpZ9Dy5Ytefrpp7ngggtQVS655BKuvPLKU87p168f48aNIzo6mvbt2xdXcRUUFDBx4kTS\n09NRVf74xz/W2kQBjjW1vR2DW/Tv31/XrFlzzp73yfr93DdvPaN6NOPNWwacs+ea6mvczJWAY1nV\nor/ajalOyvp/KSKxqtq/omutzaKKihY7ssZtY0xtYNVQVbSxRLdZYwCmj4v2dgjGeIwliyrILyhk\n8wErWZhTtWoU7O0QjPEYq4aqgp1HMsnJK6RtWDBh9QK9HY6pJj7dcIBPNxzwdhjGeISVLKrABuOZ\nssz5eS8Al/dp5eVIjHE/K1lUwQbn+IpoSxbGmFrCkkUVWOO2qQkOHTrE+PHj6dSpEz179uSSSy4h\nLi6ODh06nDJZHsD999/Ps88+e8q+hIQEgoODi6f8jo6O5p133jnj82bNmsWBA79Ww02ePJmtW7ee\n9etISEjgvffeO+v7FJkxYwY9evTgxhtvPGX/0qVLCQ0NLZ7AcNSoURw5cqTS909LS+OVV16p9HVn\nmjK9sud4iiWLSkrPzmP7wQxEILK1JQtTPakqV199NSNHjmT37t1s3bqVp556isOHDzN+/PhTZqEt\nLCxkwYIFjBs37rT7dOrUqXjK7/Xr13PzzTef8Zmlk8Wbb75Jz549z/q1uDtZvPLKKyxevJh33333\ntGPDhg1j/fr1bNy4kQEDBvDyyy9X+v5VTRbVnSWLSvogdh/5hcr5nZtQr641+ZjqacmSJQQEBDBl\nypTifdHR0QwbNowJEyackiyWLVtGREQE7du3d+neBQUFTJo0icjISHr37s306dNZsGABa9as4cYb\nbyQ6OpoTJ04wcuRIigbK1q9fn4cffpiYmBhGjRrFqlWrGDlyJB07dmTRokWAIykMGzaMfv360a9f\nP3766ScApk6dyvLly4mOjmb69OkUFBTw4IMPMmDAAKKios648NK///1vIiMjiYyM5D//+Q8AU6ZM\nIT4+niuuuILp06ef8TWqKhkZGTRu7FjULCsri9/97ncMGDCAvn378sknnwBlT6c+depUdu/eTXR0\nNA8++OBp977qqquIiYmhV69evP7666cdT0hIoHv37txyyy1ERUVx3XXXkZ2dXXz8xRdfpF+/fvTu\n3bt4UatVq1Zx3nnn0bdvX84777zTSo5uoaoe+wLGAjuAXcDUMo5PB9Y7v+KAtBLHngW2ANuAGThH\nm5/pKyYmRj2toKBQhz/7vbZ/+DP9esshjz/P1Cypmbmampmrqqpbt271aiz/93//p/fff/8Zj/fs\n2VPXr1+vqqp33nmnvvTSS6eds2fPHg0KCtI+ffoUfy1btkzXrFmjo0aNKj7v2LFjqqo6YsQIXb16\ndfH+ktuALl68WFVVr7rqKr344ov15MmTun79eu3Tp4+qqmZlZemJEydUVTUuLk6LfqeXLFmil156\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4782d620f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nKAfq+bQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4781375c50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Best Value of Misclassification Error =  0.22115384615384615\n",
      "Best alpha for Misclassification Error =  0.0176862447202\n",
      "\n",
      "Best Value for AUC =  0.868672796508\n",
      "Best alpha for AUC   =   0.0203348835893\n",
      "\n",
      "Confusion Matrices for Different Threshold Values\n",
      "Threshold Value =    0.21560082129\n",
      "TP =  61.0 FP =  11.0\n",
      "FN =  50.0 TN =  86.0\n",
      "Threshold Value =    -0.0943518921617\n",
      "TP =  89.0 FP =  23.0\n",
      "FN =  22.0 TN =  74.0\n",
      "Threshold Value =    -0.322369381872\n",
      "TP =  100.0 FP =  40.0\n",
      "FN =  11.0 TN =  57.0\n"
     ]
    }
   ],
   "source": [
    "__author__ = 'mike_bowles'\n",
    "import urllib.request, urllib.error, urllib.parse\n",
    "from math import sqrt, fabs, exp\n",
    "import matplotlib.pyplot as plot\n",
    "from sklearn.linear_model import enet_path\n",
    "from sklearn.metrics import roc_auc_score, roc_curve\n",
    "import numpy\n",
    "\n",
    "#read data from uci data repository\n",
    "target_url = \"https://archive.ics.uci.edu/ml/machine-learning-databases/undocumented/connectionist-bench/sonar/sonar.all-data\"\n",
    "data = urllib.request.urlopen(target_url)\n",
    "\n",
    "\n",
    "#arrange data into list for labels and list of lists for attributes\n",
    "xList = []\n",
    "\n",
    "\n",
    "for line in data:\n",
    "    #split on comma\n",
    "    row = line.decode().strip().split(\",\")\n",
    "    xList.append(row)\n",
    "\n",
    "#separate labels from attributes, convert from attributes from string to numeric and convert \"M\" to 1 and \"R\" to 0\n",
    "\n",
    "xNum = []\n",
    "labels = []\n",
    "\n",
    "for row in xList:\n",
    "    lastCol = row.pop()\n",
    "    if lastCol == \"M\":\n",
    "        labels.append(1.0)\n",
    "    else:\n",
    "        labels.append(0.0)\n",
    "    attrRow = [float(elt) for elt in row]\n",
    "    xNum.append(attrRow)\n",
    "\n",
    "#number of rows and columns in x matrix\n",
    "nrow = len(xNum)\n",
    "ncol = len(xNum[1])\n",
    "\n",
    "#calculate means and variances\n",
    "xMeans = []\n",
    "xSD = []\n",
    "for i in range(ncol):\n",
    "    col = [xNum[j][i] for j in range(nrow)]\n",
    "    mean = sum(col)/nrow\n",
    "    xMeans.append(mean)\n",
    "    colDiff = [(xNum[j][i] - mean) for j in range(nrow)]\n",
    "    sumSq = sum([colDiff[i] * colDiff[i] for i in range(nrow)])\n",
    "    stdDev = sqrt(sumSq/nrow)\n",
    "    xSD.append(stdDev)\n",
    "\n",
    "#use calculate mean and standard deviation to normalize xNum\n",
    "xNormalized = []\n",
    "for i in range(nrow):\n",
    "    rowNormalized = [(xNum[i][j] - xMeans[j])/xSD[j] for j in range(ncol)]\n",
    "    xNormalized.append(rowNormalized)\n",
    "\n",
    "#normalize labels to center\n",
    "#Normalize labels\n",
    "meanLabel = sum(labels)/nrow\n",
    "sdLabel = sqrt(sum([(labels[i] - meanLabel) * (labels[i] - meanLabel) for i in range(nrow)])/nrow)\n",
    "\n",
    "labelNormalized = [(labels[i] - meanLabel)/sdLabel for i in range(nrow)]\n",
    "\n",
    "\n",
    "#number of cross validation folds\n",
    "nxval = 10\n",
    "\n",
    "\n",
    "for ixval in range(nxval):\n",
    "    #Define test and training index sets\n",
    "    idxTest = [a for a in range(nrow) if a%nxval == ixval%nxval]\n",
    "    idxTrain = [a for a in range(nrow) if a%nxval != ixval%nxval]\n",
    "\n",
    "    #Define test and training attribute and label sets\n",
    "    xTrain = numpy.array([xNormalized[r] for r in idxTrain])\n",
    "    xTest = numpy.array([xNormalized[r] for r in idxTest])\n",
    "    labelTrain = numpy.array([labelNormalized[r] for r in idxTrain])\n",
    "    labelTest = numpy.array([labelNormalized[r] for r in idxTest])\n",
    "\n",
    "    alphas, coefs, _ = enet_path(xTrain, labelTrain,l1_ratio=0.8, fit_intercept=False, return_models=False)\n",
    "\n",
    "    #apply coefs to test data to produce predictions and accumulate\n",
    "    if ixval == 0:\n",
    "        pred = numpy.dot(xTest, coefs)\n",
    "        yOut = labelTest\n",
    "    else:\n",
    "        #accumulate predictions\n",
    "        yTemp = numpy.array(yOut)\n",
    "        yOut = numpy.concatenate((yTemp, labelTest), axis=0)\n",
    "\n",
    "        #accumulate predictions\n",
    "        predTemp = numpy.array(pred)\n",
    "        pred = numpy.concatenate((predTemp, numpy.dot(xTest, coefs)), axis = 0)\n",
    "\n",
    "\n",
    "#calculate miss classification error\n",
    "misClassRate = []\n",
    "_,nPred = pred.shape\n",
    "for iPred in range(1, nPred):\n",
    "    predList = list(pred[:, iPred])\n",
    "    errCnt = 0.0\n",
    "    for irow in range(nrow):\n",
    "        if (predList[irow] < 0.0) and (yOut[irow] >= 0.0):\n",
    "            errCnt += 1.0\n",
    "        elif (predList[irow] >= 0.0) and (yOut[irow] < 0.0):\n",
    "            errCnt += 1.0\n",
    "    misClassRate.append(errCnt/nrow)\n",
    "\n",
    "#find minimum point for plot and for print\n",
    "minError = min(misClassRate)\n",
    "idxMin = misClassRate.index(minError)\n",
    "plotAlphas = list(alphas[1:len(alphas)])\n",
    "\n",
    "plot.figure()\n",
    "plot.plot(plotAlphas, misClassRate, label='Misclassification Error Across Folds', linewidth=2)\n",
    "plot.axvline(plotAlphas[idxMin], linestyle='--',\n",
    "            label='CV Estimate of Best alpha')\n",
    "plot.legend()\n",
    "plot.semilogx()\n",
    "ax = plot.gca()\n",
    "ax.invert_xaxis()\n",
    "plot.xlabel('alpha')\n",
    "plot.ylabel('Misclassification Error')\n",
    "plot.axis('tight')\n",
    "plot.show()\n",
    "\n",
    "\n",
    "\n",
    "#calculate AUC.\n",
    "idxPos = [i for i in range(nrow) if yOut[i] > 0.0]\n",
    "yOutBin = [0] * nrow\n",
    "for i in idxPos: yOutBin[i] = 1\n",
    "\n",
    "auc = []\n",
    "for iPred in range(1, nPred):\n",
    "    predList = list(pred[:, iPred])\n",
    "    aucCalc = roc_auc_score(yOutBin, predList)\n",
    "    auc.append(aucCalc)\n",
    "\n",
    "maxAUC = max(auc)\n",
    "idxMax = auc.index(maxAUC)\n",
    "\n",
    "plot.figure()\n",
    "plot.plot(plotAlphas, auc, label='AUC Across Folds', linewidth=2)\n",
    "plot.axvline(plotAlphas[idxMax], linestyle='--',\n",
    "            label='CV Estimate of Best alpha')\n",
    "plot.legend()\n",
    "plot.semilogx()\n",
    "ax = plot.gca()\n",
    "ax.invert_xaxis()\n",
    "plot.xlabel('alpha')\n",
    "plot.ylabel('Area Under the ROC Curve')\n",
    "plot.axis('tight')\n",
    "plot.show()\n",
    "\n",
    "\n",
    "#plot best version of ROC curve\n",
    "fpr, tpr, thresh = roc_curve(yOutBin, list(pred[:, idxMax]))\n",
    "ctClass = [i*0.01 for i in range(101)]\n",
    "\n",
    "plot.plot(fpr, tpr, linewidth=2)\n",
    "plot.plot(ctClass, ctClass, linestyle=':')\n",
    "plot.xlabel('False Positive Rate')\n",
    "plot.ylabel('True Positive Rate')\n",
    "plot.show()\n",
    "\n",
    "print('Best Value of Misclassification Error = ', misClassRate[idxMin])\n",
    "print('Best alpha for Misclassification Error = ', plotAlphas[idxMin])\n",
    "print('')\n",
    "print('Best Value for AUC = ', auc[idxMax])\n",
    "print('Best alpha for AUC   =  ', plotAlphas[idxMax])\n",
    "\n",
    "print('')\n",
    "print('Confusion Matrices for Different Threshold Values')\n",
    "\n",
    "#pick some points along the curve to print.  There are 57 points.  The extremes aren't useful\n",
    "#Sample at 14, 28 and 42.  Use the calculated values of tpr and fpr along with definitions and\n",
    "#threshold values.\n",
    "#Some nomenclature (e.g. see wikkipedia \"receiver operating curve\")\n",
    "\n",
    "\n",
    "#P = Positive cases\n",
    "P = len(idxPos)\n",
    "#N = Negative cases\n",
    "N = nrow - P\n",
    "#TP = True positives = tpr * P\n",
    "TP = tpr[14] * P\n",
    "#FN = False negatives = P - TP\n",
    "FN = P - TP\n",
    "#FP = False positives = fpr * N\n",
    "FP = fpr[14] * N\n",
    "#TN = True negatives = N - FP\n",
    "TN = N - FP\n",
    "\n",
    "print('Threshold Value =   ', thresh[14])\n",
    "print('TP = ', TP, 'FP = ', FP)\n",
    "print('FN = ', FN, 'TN = ', TN)\n",
    "\n",
    "TP = tpr[28] * P; FN = P - TP; FP = fpr[28] * N; TN = N - FP\n",
    "\n",
    "print('Threshold Value =   ', thresh[28])\n",
    "print('TP = ', TP, 'FP = ', FP)\n",
    "print('FN = ', FN, 'TN = ', TN)\n",
    "\n",
    "TP = tpr[42] * P; FN = P - TP; FP = fpr[42] * N; TN = N - FP\n",
    "\n",
    "print('Threshold Value =   ', thresh[42])\n",
    "print('TP = ', TP, 'FP = ', FP)\n",
    "print('FN = ', FN, 'TN = ', TN)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### rocksVMinesGlmnet.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Attributes Ordered by How Early They Enter the Model\n",
      "['V10', 'V48', 'V11', 'V44', 'V35', 'V51', 'V20', 'V3', 'V50', 'V21', 'V43', 'V47', 'V15', 'V27', 'V0', 'V22', 'V36', 'V30', 'V53', 'V56', 'V58', 'V6', 'V19', 'V28', 'V39', 'V49', 'V7', 'V23', 'V54', 'V8', 'V14', 'V2', 'V29', 'V38', 'V57', 'V45', 'V13', 'V32', 'V31', 'V42', 'V16', 'V37', 'V59', 'V52', 'V25', 'V18', 'V1', 'V33', 'V4', 'V55', 'V17', 'V46', 'V26', 'V12', 'V40', 'V34', 'V5', 'V24', 'V41', 'V9']\n"
     ]
    },
    {
     "data": {
      "image/png": "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\ndwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7faea9dd6470>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "__author__ = 'mike_bowles'\n",
    "import urllib.request, urllib.error, urllib.parse\n",
    "import sys\n",
    "from math import sqrt, fabs, exp\n",
    "import matplotlib.pyplot as plot\n",
    "\n",
    "def S(z,gamma):\n",
    "    if gamma >= fabs(z):\n",
    "        return 0.0\n",
    "    if z > 0.0:\n",
    "        return z - gamma\n",
    "    else:\n",
    "        return z + gamma\n",
    "\n",
    "def Pr(b0,b,x):\n",
    "    n = len(x)\n",
    "    sum = b0\n",
    "    for i in range(n):\n",
    "        sum += b[i]*x[i]\n",
    "        if sum < -100: sum = -100\n",
    "    return 1.0/(1.0 + exp(-sum))\n",
    "\n",
    "\n",
    "#read data from uci data repository\n",
    "target_url = \"https://archive.ics.uci.edu/ml/machine-learning-databases/undocumented/connectionist-bench/sonar/sonar.all-data\"\n",
    "data = urllib.request.urlopen(target_url)\n",
    "\n",
    "\n",
    "#arrange data into list for labels and list of lists for attributes\n",
    "xList = []\n",
    "\n",
    "\n",
    "for line in data:\n",
    "    #split on comma\n",
    "    row = line.decode().strip().split(\",\")\n",
    "    xList.append(row)\n",
    "\n",
    "#separate labels from attributes, convert from attributes from string to numeric and convert \"M\" to 1 and \"R\" to 0\n",
    "\n",
    "xNum = []\n",
    "labels = []\n",
    "\n",
    "for row in xList:\n",
    "    lastCol = row.pop()\n",
    "    if lastCol == \"M\":\n",
    "        labels.append(1.0)\n",
    "    else:\n",
    "        labels.append(0.0)\n",
    "    attrRow = [float(elt) for elt in row]\n",
    "    xNum.append(attrRow)\n",
    "\n",
    "#number of rows and columns in x matrix\n",
    "nrow = len(xNum)\n",
    "ncol = len(xNum[1])\n",
    "\n",
    "alpha = 0.8\n",
    "#calculate means and variances\n",
    "xMeans = []\n",
    "xSD = []\n",
    "for i in range(ncol):\n",
    "    col = [xNum[j][i] for j in range(nrow)]\n",
    "    mean = sum(col)/nrow\n",
    "    xMeans.append(mean)\n",
    "    colDiff = [(xNum[j][i] - mean) for j in range(nrow)]\n",
    "    sumSq = sum([colDiff[i] * colDiff[i] for i in range(nrow)])\n",
    "    stdDev = sqrt(sumSq/nrow)\n",
    "    xSD.append(stdDev)\n",
    "\n",
    "#use calculate mean and standard deviation to normalize xNum\n",
    "xNormalized = []\n",
    "for i in range(nrow):\n",
    "    rowNormalized = [(xNum[i][j] - xMeans[j])/xSD[j] for j in range(ncol)]\n",
    "    xNormalized.append(rowNormalized)\n",
    "\n",
    "#Do Not Normalize labels but do calculate averages\n",
    "meanLabel = sum(labels)/nrow\n",
    "sdLabel = sqrt(sum([(labels[i] - meanLabel) * (labels[i] - meanLabel) for i in range(nrow)])/nrow)\n",
    "\n",
    "#initialize probabilities and weights\n",
    "sumWxr = [0.0] * ncol\n",
    "sumWxx = [0.0] * ncol\n",
    "sumWr = 0.0\n",
    "sumW = 0.0\n",
    "\n",
    "#calculate starting points for betas\n",
    "for iRow in range(nrow):\n",
    "    p = meanLabel\n",
    "    w = p * (1.0 - p)\n",
    "    #residual for logistic\n",
    "    r = (labels[iRow] - p) / w\n",
    "    x = xNormalized[iRow]\n",
    "    sumWxr = [sumWxr[i] + w * x[i] * r for i in range(ncol)]\n",
    "    sumWxx = [sumWxx[i] + w * x[i] * x[i] for i in range(ncol)]\n",
    "    sumWr = sumWr + w * r\n",
    "    sumW = sumW + w\n",
    "\n",
    "avgWxr = [sumWxr[i]/nrow for i in range(ncol)]\n",
    "avgWxx = [sumWxx[i]/nrow for i in range(ncol)]\n",
    "\n",
    "maxWxr = 0.0\n",
    "for i in range(ncol):\n",
    "    val = abs(avgWxr[i])\n",
    "    if val > maxWxr:\n",
    "        maxWxr = val\n",
    "\n",
    "#calculate starting value for lambda\n",
    "lam = maxWxr/alpha\n",
    "\n",
    "#this value of lambda corresponds to beta = list of 0's\n",
    "#initialize a vector of coefficients beta\n",
    "beta = [0.0] * ncol\n",
    "beta0 = sumWr/sumW\n",
    "\n",
    "#initialize matrix of betas at each step\n",
    "betaMat = []\n",
    "betaMat.append(list(beta))\n",
    "\n",
    "beta0List = []\n",
    "beta0List.append(beta0)\n",
    "\n",
    "#begin iteration\n",
    "nSteps = 100\n",
    "lamMult = 0.93 #100 steps gives reduction by factor of 1000 in lambda (recommended by authors)\n",
    "nzList = []\n",
    "for iStep in range(nSteps):\n",
    "    #decrease lambda\n",
    "    lam = lam * lamMult\n",
    "\n",
    "\n",
    "    #Use incremental change in betas to control inner iteration\n",
    "\n",
    "\n",
    "    #set middle loop values for betas = to outer values\n",
    "    # values are used for calculating weights and probabilities\n",
    "    #inner values are used for calculating penalized regression updates\n",
    "\n",
    "    #take pass through data to calculate averages over data require for iteration\n",
    "    #initilize accumulators\n",
    "\n",
    "    betaIRLS = list(beta)\n",
    "    beta0IRLS = beta0\n",
    "    distIRLS = 100.0\n",
    "    #Middle loop to calculate new betas with fixed IRLS weights and probabilities\n",
    "    iterIRLS = 0\n",
    "    while distIRLS > 0.01:\n",
    "        iterIRLS += 1\n",
    "        iterInner = 0.0\n",
    "\n",
    "        betaInner = list(betaIRLS)\n",
    "        beta0Inner = beta0IRLS\n",
    "        distInner = 100.0\n",
    "        while distInner > 0.01:\n",
    "            iterInner += 1\n",
    "            if iterInner > 100: break\n",
    "\n",
    "            #cycle through attributes and update one-at-a-time\n",
    "            #record starting value for comparison\n",
    "            betaStart = list(betaInner)\n",
    "            for iCol in range(ncol):\n",
    "\n",
    "                sumWxr = 0.0\n",
    "                sumWxx = 0.0\n",
    "                sumWr = 0.0\n",
    "                sumW = 0.0\n",
    "\n",
    "                for iRow in range(nrow):\n",
    "                    x = list(xNormalized[iRow])\n",
    "                    y = labels[iRow]\n",
    "                    p = Pr(beta0IRLS, betaIRLS, x)\n",
    "                    if abs(p) < 1e-5:\n",
    "                        p = 0.0\n",
    "                        w = 1e-5\n",
    "                    elif abs(1.0 - p) < 1e-5:\n",
    "                        p = 1.0\n",
    "                        w = 1e-5\n",
    "                    else:\n",
    "                        w = p * (1.0 - p)\n",
    "\n",
    "                    z = (y - p) / w + beta0IRLS + sum([x[i] * betaIRLS[i] for i in range(ncol)])\n",
    "                    r = z - beta0Inner - sum([x[i] * betaInner[i] for i in range(ncol)])\n",
    "                    sumWxr += w * x[iCol] * r\n",
    "                    sumWxx += w * x[iCol] * x[iCol]\n",
    "                    sumWr += w * r\n",
    "                    sumW += w\n",
    "\n",
    "                avgWxr = sumWxr / nrow\n",
    "                avgWxx = sumWxx / nrow\n",
    "\n",
    "                beta0Inner = beta0Inner + sumWr / sumW\n",
    "                uncBeta = avgWxr + avgWxx * betaInner[iCol]\n",
    "                betaInner[iCol] = S(uncBeta, lam * alpha) / (avgWxx + lam * (1.0 - alpha))\n",
    "\n",
    "            sumDiff = sum([abs(betaInner[n] - betaStart[n]) for n in range(ncol)])\n",
    "            sumBeta = sum([abs(betaInner[n]) for n in range(ncol)])\n",
    "            distInner = sumDiff/sumBeta\n",
    "        #print number of steps for inner and middle loop convergence to monitor behavior\n",
    "        #print(iStep, iterIRLS, iterInner)\n",
    "\n",
    "        #if exit inner while loop, then set betaMiddle = betaMiddle and run through middle loop again.\n",
    "\n",
    "        #Check change in betaMiddle to see if IRLS is converged\n",
    "        a = sum([abs(betaIRLS[i] - betaInner[i]) for i in range(ncol)])\n",
    "        b = sum([abs(betaIRLS[i]) for i in range(ncol)])\n",
    "        distIRLS = a / (b + 0.0001)\n",
    "        dBeta = [betaInner[i] - betaIRLS[i] for i in range(ncol)]\n",
    "        gradStep = 1.0\n",
    "        temp = [betaIRLS[i] + gradStep * dBeta[i] for i in range(ncol)]\n",
    "        betaIRLS = list(temp)\n",
    "\n",
    "    beta = list(betaIRLS)\n",
    "    beta0 = beta0IRLS\n",
    "    betaMat.append(list(beta))\n",
    "    beta0List.append(beta0)\n",
    "\n",
    "    nzBeta = [index for index in range(ncol) if beta[index] != 0.0]\n",
    "    for q in nzBeta:\n",
    "        if not(q in nzList):\n",
    "            nzList.append(q)\n",
    "\n",
    "#make up names for columns of xNum\n",
    "names = ['V' + str(i) for i in range(ncol)]\n",
    "nameList = [names[nzList[i]] for i in range(len(nzList))]\n",
    "\n",
    "print(\"Attributes Ordered by How Early They Enter the Model\")\n",
    "print(nameList)\n",
    "for i in range(ncol):\n",
    "    #plot range of beta values for each attribute\n",
    "    coefCurve = [betaMat[k][i] for k in range(nSteps)]\n",
    "    xaxis = range(nSteps)\n",
    "    plot.plot(xaxis, coefCurve)\n",
    "\n",
    "plot.xlabel(\"Steps Taken\")\n",
    "plot.ylabel(\"Coefficient Values\")\n",
    "plot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### rvmGlmnet2.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Attributes Ordered by How Early They Enter the Model\n",
      "['V10', 'V48', 'V11', 'V44', 'V35', 'V51', 'V20', 'V3', 'V21', 'V50', 'V43', 'V47', 'V15', 'V0', 'V27', 'V22', 'V36', 'V30', 'V53', 'V56', 'V58', 'V6', 'V19', 'V28', 'V39', 'V49', 'V7', 'V8', 'V14', 'V23', 'V54', 'V29', 'V2', 'V38', 'V57', 'V13', 'V45', 'V32', 'V42', 'V31', 'V16', 'V37', 'V59', 'V52', 'V25', 'V18', 'V1', 'V33', 'V4', 'V55', 'V17', 'V46', 'V26', 'V12', 'V40', 'V34', 'V5', 'V24', 'V41', 'V9']\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7faea9dd6080>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "__author__ = 'mike_bowles'\n",
    "#this version is modified to remove unnecessary repetitive calculations\n",
    "import urllib.request, urllib.error, urllib.parse\n",
    "import sys\n",
    "from math import sqrt, fabs, exp\n",
    "import matplotlib.pyplot as plot\n",
    "import numpy as np\n",
    "\n",
    "def S(z,gamma):\n",
    "    if gamma >= fabs(z):\n",
    "        return 0.0\n",
    "    if z > 0.0:\n",
    "        return z - gamma\n",
    "    else:\n",
    "        return z + gamma\n",
    "\n",
    "def Pr(b0,b,x):\n",
    "    n = len(x)\n",
    "    sum = b0\n",
    "    for i in range(n):\n",
    "        sum += b[i]*x[i]\n",
    "        if sum < -100: sum = -100\n",
    "    return 1.0/(1.0 + exp(-sum))\n",
    "\n",
    "def adjPW(b0, b, x):  #does adjustments recommended by friedman for num stability\n",
    "    p = Pr(b0, b, x)\n",
    "    if abs(p) < 1e-5:\n",
    "        p = 0.0\n",
    "        w = 1e-5\n",
    "    elif abs(1.0 - p) < 1e-5:\n",
    "        p = 1.0\n",
    "        w = 1e-5\n",
    "    else:\n",
    "        w = p * (1.0 - p)\n",
    "    return p, w\n",
    "\n",
    "def calcOuter(X, Y, beta0, beta):\n",
    "    nRow = len(X)\n",
    "    nCol = len(X[0])\n",
    "\n",
    "\n",
    "    wXX = np.zeros((nCol, nCol))\n",
    "    wX = np.zeros((nCol))\n",
    "    wXz = np.zeros((nCol))\n",
    "    wZ = 0.0\n",
    "    wSum = 0.0\n",
    "\n",
    "    for iRow in range(nRow):\n",
    "        y = Y[iRow]\n",
    "        x = X[iRow]\n",
    "        p, w = adjPW(beta0, beta, x)\n",
    "        xNP = np.array(x)\n",
    "\n",
    "        wXX += w * np.outer(xNP, xNP)   #square matrix with dimension of x\n",
    "        wX += w * xNP         #vector with same dimension as x\n",
    "        #residual for logistic\n",
    "        z = (y - p) / w + beta0 + sum([x[i] * beta[i] for i in range(ncol)])\n",
    "\n",
    "        wXz += w * xNP * z  #vector of w same dimension as x\n",
    "        wZ += w * z   #scalar\n",
    "        wSum += w   #scalar\n",
    "    return (wXX, wX, wXz, wZ, wSum)\n",
    "\n",
    "\n",
    "\n",
    "#read data from uci data repository\n",
    "target_url = \"https://archive.ics.uci.edu/ml/machine-learning-databases/undocumented/connectionist-bench/sonar/sonar.all-data\"\n",
    "data = urllib.request.urlopen(target_url)\n",
    "\n",
    "\n",
    "#arrange data into list for labels and list of lists for attributes\n",
    "xList = []\n",
    "\n",
    "\n",
    "for line in data:\n",
    "    #split on comma\n",
    "    row = line.decode().strip().split(\",\")\n",
    "    xList.append(row)\n",
    "\n",
    "#separate labels from attributes, convert from attributes from string to numeric and convert \"M\" to 1 and \"R\" to 0\n",
    "\n",
    "xNum = []\n",
    "labels = []\n",
    "\n",
    "for row in xList:\n",
    "    lastCol = row.pop()\n",
    "    if lastCol == \"M\":\n",
    "        labels.append(1.0)\n",
    "    else:\n",
    "        labels.append(0.0)\n",
    "    attrRow = [float(elt) for elt in row]\n",
    "    xNum.append(attrRow)\n",
    "\n",
    "#number of rows and columns in x matrix\n",
    "nrow = len(xNum)\n",
    "ncol = len(xNum[1])\n",
    "\n",
    "alpha = 0.8\n",
    "#calculate means and variances\n",
    "xMeans = []\n",
    "xSD = []\n",
    "for i in range(ncol):\n",
    "    col = [xNum[j][i] for j in range(nrow)]\n",
    "    mean = sum(col)/nrow\n",
    "    xMeans.append(mean)\n",
    "    colDiff = [(xNum[j][i] - mean) for j in range(nrow)]\n",
    "    sumSq = sum([colDiff[i] * colDiff[i] for i in range(nrow)])\n",
    "    stdDev = sqrt(sumSq/nrow)\n",
    "    xSD.append(stdDev)\n",
    "\n",
    "#use calculate mean and standard deviation to normalize xNum\n",
    "xNormalized = []\n",
    "for i in range(nrow):\n",
    "    rowNormalized = [(xNum[i][j] - xMeans[j])/xSD[j] for j in range(ncol)]\n",
    "    xNormalized.append(rowNormalized)\n",
    "\n",
    "#Do Not Normalize labels but do calculate averages\n",
    "meanLabel = sum(labels)/nrow\n",
    "sdLabel = sqrt(sum([(labels[i] - meanLabel) * (labels[i] - meanLabel) for i in range(nrow)])/nrow)\n",
    "\n",
    "#initialize probabilities and weights\n",
    "sumWxr = [0.0] * ncol\n",
    "sumWxx = [0.0] * ncol\n",
    "sumWr = 0.0\n",
    "sumW = 0.0\n",
    "\n",
    "#calculate starting points for betas\n",
    "for iRow in range(nrow):\n",
    "    p = meanLabel\n",
    "    w = p * (1.0 - p)\n",
    "    #residual for logistic\n",
    "    r = (labels[iRow] - p) / w\n",
    "    x = xNormalized[iRow]\n",
    "    sumWxr = [sumWxr[i] + w * x[i] * r for i in range(ncol)]\n",
    "    sumWxx = [sumWxx[i] + w * x[i] * x[i] for i in range(ncol)]\n",
    "    sumWr = sumWr + w * r\n",
    "    sumW = sumW + w\n",
    "\n",
    "avgWxr = [sumWxr[i]/nrow for i in range(ncol)]\n",
    "avgWxx = [sumWxx[i]/nrow for i in range(ncol)]\n",
    "\n",
    "maxWxr = 0.0\n",
    "for i in range(ncol):\n",
    "    val = abs(avgWxr[i])\n",
    "    if val > maxWxr:\n",
    "        maxWxr = val\n",
    "\n",
    "#calculate starting value for lambda\n",
    "lam = maxWxr/alpha\n",
    "\n",
    "#this value of lambda corresponds to beta = list of 0's\n",
    "#initialize a vector of coefficients beta\n",
    "beta = [0.0] * ncol\n",
    "beta0 = sumWr/sumW\n",
    "\n",
    "#initialize matrix of betas at each step\n",
    "betaMat = []\n",
    "betaMat.append(list(beta))\n",
    "\n",
    "beta0List = []\n",
    "beta0List.append(beta0)\n",
    "\n",
    "#begin iteration\n",
    "nSteps = 100\n",
    "lamMult = 0.93 #100 steps gives reduction by factor of 1000 in lambda (recommended by authors)\n",
    "nzList = []\n",
    "for iStep in range(nSteps):\n",
    "    #decrease lambda\n",
    "    lam = lam * lamMult\n",
    "\n",
    "\n",
    "    #Use incremental change in betas to control inner iteration\n",
    "\n",
    "\n",
    "    #set middle loop values for betas = to outer values\n",
    "    # values are used for calculating weights and probabilities\n",
    "    #inner values are used for calculating penalized regression updates\n",
    "\n",
    "    #take pass through data to calculate averages over data require for iteration\n",
    "    #initilize accumulators\n",
    "\n",
    "    betaIRLS = list(beta)\n",
    "    beta0IRLS = beta0\n",
    "    distIRLS = 100.0\n",
    "\n",
    "    #calculations for xx, wxx, etc\n",
    "    (wXX, wX, wXz, wZ, wSum) = calcOuter(xNormalized, labels, beta0IRLS, betaIRLS)\n",
    "\n",
    "    #Middle loop to calculate new betas with fixed IRLS weights and probabilities\n",
    "    iterIRLS = 0\n",
    "    while distIRLS > 0.01:\n",
    "        iterIRLS += 1\n",
    "        iterInner = 0.0\n",
    "\n",
    "        betaInner = list(betaIRLS)\n",
    "        beta0Inner = beta0IRLS\n",
    "        distInner = 100.0\n",
    "        while distInner > 0.01:\n",
    "            iterInner += 1\n",
    "            if iterInner > 100: break\n",
    "\n",
    "            #cycle through attributes and update one-at-a-time\n",
    "            #record starting value for comparison\n",
    "            betaStart = list(betaInner)\n",
    "            for iCol in range(ncol):\n",
    "\n",
    "                #z = (y - p) / w + beta0IRLS + sum([x[i] * betaIRLS[i] for i in range(ncol)])\n",
    "                #r = z - beta0Inner - sum([x[i] * betaInner[i] for i in range(ncol)])\n",
    "                #sumWxr = w*x[iCol] * {z - beta0Inner - sum x*betaInner}\n",
    "                #  = wXz[iCol] - wX[iCol]*beta0Inner - wXX[iCol]*betaInner\n",
    "                #sumWxx = wXX[iCol, iCol]\n",
    "                #sumWr = wZ - wSum*beta0Inner - wX*betaInner\n",
    "                sumWxr = wXz[iCol] - wX[iCol]*beta0Inner - np.dot(wXX[iCol], betaInner)\n",
    "                sumWxx = wXX[iCol, iCol]\n",
    "                sumWr = wZ - wSum*beta0Inner - np.dot(wX, betaInner)\n",
    "                sumW = wSum\n",
    "\n",
    "                avgWxr = sumWxr / nrow\n",
    "                avgWxx = sumWxx / nrow\n",
    "\n",
    "                beta0Inner = beta0Inner + sumWr / sumW\n",
    "                uncBeta = avgWxr + avgWxx * betaInner[iCol]\n",
    "                betaInner[iCol] = S(uncBeta, lam * alpha) / (avgWxx + lam * (1.0 - alpha))\n",
    "\n",
    "            sumDiff = sum([abs(betaInner[n] - betaStart[n]) for n in range(ncol)])\n",
    "            sumBeta = sum([abs(betaInner[n]) for n in range(ncol)])\n",
    "            distInner = sumDiff/sumBeta\n",
    "        #print number of steps for inner and middle loop convergence to monitor behavior\n",
    "        #print(iStep, iterIRLS, iterInner)\n",
    "\n",
    "        #if exit inner while loop, then set betaMiddle = betaMiddle and run through middle loop again.\n",
    "\n",
    "        #Check change in betaMiddle to see if IRLS is converged\n",
    "        a = sum([abs(betaIRLS[i] - betaInner[i]) for i in range(ncol)])\n",
    "        b = sum([abs(betaIRLS[i]) for i in range(ncol)])\n",
    "        distIRLS = a / (b + 0.0001)\n",
    "        dBeta = [betaInner[i] - betaIRLS[i] for i in range(ncol)]\n",
    "        gradStep = 1.0\n",
    "        temp = [betaIRLS[i] + gradStep * dBeta[i] for i in range(ncol)]\n",
    "        betaIRLS = list(temp)\n",
    "\n",
    "    beta = list(betaIRLS)\n",
    "    beta0 = beta0IRLS\n",
    "    betaMat.append(list(beta))\n",
    "    beta0List.append(beta0)\n",
    "\n",
    "    nzBeta = [index for index in range(ncol) if beta[index] != 0.0]\n",
    "    for q in nzBeta:\n",
    "        if not(q in nzList):\n",
    "            nzList.append(q)\n",
    "\n",
    "#make up names for columns of xNum\n",
    "names = ['V' + str(i) for i in range(ncol)]\n",
    "nameList = [names[nzList[i]] for i in range(len(nzList))]\n",
    "\n",
    "print(\"Attributes Ordered by How Early They Enter the Model\")\n",
    "print(nameList)\n",
    "for i in range(ncol):\n",
    "    #plot range of beta values for each attribute\n",
    "    coefCurve = [betaMat[k][i] for k in range(nSteps)]\n",
    "    xaxis = range(nSteps)\n",
    "    plot.plot(xaxis, coefCurve)\n",
    "\n",
    "plot.xlabel(\"Steps Taken\")\n",
    "plot.ylabel(\"Coefficient Values\")\n",
    "plot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### wineExpandedLassoCV.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\noqKYMWNGuSm+L/fBBx8QHh5OeHg4H374IQAPP/wwx48fZ8SIERWmlZZSkp2dja+vLwC5ublMnjyZ\nrl270qlTJ5YvXw6UnR77hRde4NixY0RFRTFt2rRSdZeXdvyihIQE2rVrx8SJE4mIiODOO+/U0m8A\nfPzxx3Tu3JmOHTtqCwXt2LGDXr160alTJ3r16lXqTrBaSSmvqVeXLl2kvRgNBrvVrdQ9Bw8eLLF9\n95y/Sr2++euElFLKvEJTmft/2HlSSillWk5hqX0V+eijj+RTTz1V7v6wsDAZGxsrpZTyoYcekp98\n8kmpMidOnJBubm4yMjJSe23atEnGxMTIQYMGaeXS09OllFL269dP7ty5U3u/+DYgV61aJaWU8vbb\nb5eDBw+WBoNBxsbGysjISCmllLm5uTI/P19KKWVcXJy8+G95/fr18pZbbtHq/eyzz+Trr78upZSy\noKBAdunSRR4/frxE7DExMTI8PFzm5OTI7OxsGRYWJnfv3i2llLJ58+YyJSWl1O+7fv16Wa9ePRkZ\nGSmbNGki27ZtKzMzM6WUUr744otywYIF2u/bunVrmZOTI6dOnSq//fZbKaWUhYWFMi8vT544cUJ2\n6NCh3M8+LS1NSillXl6e7NChg0xNTS0R14kTJyQgt2zZIqWU8r777pPvvvuuVmbmzJlSSilnzZol\n77//fimllJmZmdJoNEoppVy7dq284447yj2/lKX/NqWUEoiRNlxj1UBzMU7OzgAVZlRU6r51B88B\nMCisgYMjqbqLdwsdOnRg+fLlTJ8+vcxyF7uPiktPT9fSM99yyy3amgsVcXFx0dJcd+zYEVdXV5yd\nnenYsaOW08doNDJ16lRiY2PR6/XExcWVWdfvv//Ovn37+Okn63OtmZmZHD16tERq7y1btjBy5Egt\nw+kdd9zB5s2b6dSpU4Vx9unTh19//RWAt99+m+eee445c+bw+++/s2LFCu3hvIKCAk6ePEnPnj15\n4403SEpK4o477qB169aVfhYzZ85k6dKlAFracX9//xJlmjZtSu/evQG49957mTlzJs8++6z2uwB0\n6dKFJUuWaJ/BxIkTOXr0KEIILamhPahGoRhpsbDigzfxb9KMG8aU37eq1G2fb7Z2IV5po1BRriR3\nF32F+/08XSrNtVRchw4dtItmWcaOHcuQIUPo168fERERBAUF2Vx3VdIzOzs7a1+kdDqdtnCOTqfD\n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\nzCz6P76btPSe12N7AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7faecff5be48>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "alpha Value that Minimizes CV Error   0.0166404989986\n",
      "Minimum MSE   0.43452874043\n"
     ]
    }
   ],
   "source": [
    "__author__ = 'mike-bowles'\n",
    "\n",
    "import urllib.request, urllib.error, urllib.parse\n",
    "import numpy\n",
    "from sklearn import datasets, linear_model\n",
    "from sklearn.linear_model import LassoCV\n",
    "from math import sqrt\n",
    "import matplotlib.pyplot as plot\n",
    "\n",
    "\n",
    "#read data into iterable\n",
    "target_url = \"http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv\"\n",
    "data = urllib.request.urlopen(target_url)\n",
    "\n",
    "xList = []\n",
    "labels = []\n",
    "names = []\n",
    "firstLine = True\n",
    "for line in data:\n",
    "    if firstLine:\n",
    "        names = line.decode().strip().split(\";\")\n",
    "        firstLine = False\n",
    "    else:\n",
    "        #split on semi-colon\n",
    "        row = line.decode().strip().split(\";\")\n",
    "        #put labels in separate array\n",
    "        labels.append(float(row[-1]))\n",
    "        #remove label from row\n",
    "        row.pop()\n",
    "        #convert row to floats\n",
    "        floatRow = [float(num) for num in row]\n",
    "        xList.append(floatRow)\n",
    "\n",
    "#append square of last term (alcohol)\n",
    "\n",
    "for i in range(len(xList)):\n",
    "    alcElt = xList[i][-1]\n",
    "    volAcid = xList[i][1]\n",
    "    temp = list(xList[i])\n",
    "    temp.append(alcElt*alcElt)\n",
    "    temp.append(alcElt*volAcid)\n",
    "    xList[i] = list(temp)\n",
    "\n",
    "#add new name to variable list\n",
    "names[-1] = \"alco^2\"\n",
    "names.append(\"alco*volAcid\")\n",
    "\n",
    "#Normalize columns in x and labels\n",
    "#Note: be careful about normalization.  Some penalized regression packages include it\n",
    "#and some don't.\n",
    "\n",
    "nrows = len(xList)\n",
    "ncols = len(xList[0])\n",
    "\n",
    "#calculate means and variances\n",
    "xMeans = []\n",
    "xSD = []\n",
    "for i in range(ncols):\n",
    "    col = [xList[j][i] for j in range(nrows)]\n",
    "    mean = sum(col)/nrows\n",
    "    xMeans.append(mean)\n",
    "    colDiff = [(xList[j][i] - mean) for j in range(nrows)]\n",
    "    sumSq = sum([colDiff[i] * colDiff[i] for i in range(nrows)])\n",
    "    stdDev = sqrt(sumSq/nrows)\n",
    "    xSD.append(stdDev)\n",
    "\n",
    "#use calculate mean and standard deviation to normalize xList\n",
    "xNormalized = []\n",
    "for i in range(nrows):\n",
    "    rowNormalized = [(xList[i][j] - xMeans[j])/xSD[j] for j in range(ncols)]\n",
    "    xNormalized.append(rowNormalized)\n",
    "\n",
    "#Normalize labels\n",
    "meanLabel = sum(labels)/nrows\n",
    "sdLabel = sqrt(sum([(labels[i] - meanLabel) * (labels[i] - meanLabel) for i in range(nrows)])/nrows)\n",
    "\n",
    "labelNormalized = [(labels[i] - meanLabel)/sdLabel for i in range(nrows)]\n",
    "\n",
    "#Convert list of list to np array for input to sklearn packages\n",
    "\n",
    "#Unnormalized labels\n",
    "Y = numpy.array(labels)\n",
    "\n",
    "#normalized lables\n",
    "#Y = numpy.array(labelNormalized)\n",
    "\n",
    "#Unnormalized X's\n",
    "X = numpy.array(xList)\n",
    "\n",
    "#Normlized Xss\n",
    "X = numpy.array(xNormalized)\n",
    "\n",
    "#Call LassoCV from sklearn.linear_model\n",
    "wineModel = LassoCV(cv=10).fit(X, Y)\n",
    "\n",
    "# Display results\n",
    "\n",
    "plot.figure()\n",
    "plot.plot(wineModel.alphas_, wineModel.mse_path_, ':')\n",
    "plot.plot(wineModel.alphas_, wineModel.mse_path_.mean(axis=-1),\n",
    "         label='Average MSE Across Folds', linewidth=2)\n",
    "plot.axvline(wineModel.alpha_, linestyle='--',\n",
    "            label='CV Estimate of Best alpha')\n",
    "plot.semilogx()\n",
    "plot.legend()\n",
    "ax = plot.gca()\n",
    "ax.invert_xaxis()\n",
    "plot.xlabel('alpha')\n",
    "plot.ylabel('Mean Square Error')\n",
    "plot.axis('tight')\n",
    "plot.show()\n",
    "\n",
    "#print out the value of alpha that minimizes the Cv-error\n",
    "print(\"alpha Value that Minimizes CV Error  \",wineModel.alpha_)\n",
    "print(\"Minimum MSE  \", min(wineModel.mse_path_.mean(axis=-1)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### wineLassoCoefCurves.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/mike/Applications/anaconda/envs/py36/lib/python3.6/site-packages/matplotlib/axes/_base.py:2923: UserWarning: Attempted to set non-positive xlimits for log-scale axis; invalid limits will be ignored.\n",
      "  'Attempted to set non-positive xlimits for log-scale axis; '\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fae96f6de48>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Attributes Ordered by How Early They Enter the Model ['\"total sulfur dioxide\"', '\"alcohol\"', '\"free sulfur dioxide\"', '\"pH\"', '\"volatile acidity\"', '\"fixed acidity\"', '\"sulphates\"']\n",
      "Best Coefficient Values  [-0.016469559245771925, -1.1473999479996844, 0.0, 0.0, -0.0, 0.0074250020448315092, -0.0050942618219325152, -0.0, -0.86027897797538899, 0.25313996346144807, 0.34045891414503043]\n",
      "Attributes Ordered by Coef Size at Optimum alpha ['\"volatile acidity\"', '\"pH\"', '\"alcohol\"', '\"sulphates\"', '\"fixed acidity\"', '\"free sulfur dioxide\"', '\"total sulfur dioxide\"']\n"
     ]
    }
   ],
   "source": [
    "__author__ = 'mike-bowles'\n",
    "\n",
    "import urllib.request, urllib.error, urllib.parse\n",
    "import numpy\n",
    "from sklearn import datasets, linear_model\n",
    "from sklearn.linear_model import LassoCV\n",
    "from math import sqrt\n",
    "import matplotlib.pyplot as plot\n",
    "\n",
    "#read data into iterable\n",
    "target_url = \"http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv\"\n",
    "data = urllib.request.urlopen(target_url)\n",
    "\n",
    "xList = []\n",
    "labels = []\n",
    "names = []\n",
    "firstLine = True\n",
    "for line in data:\n",
    "    if firstLine:\n",
    "        names = line.decode().strip().split(\";\")\n",
    "        firstLine = False\n",
    "    else:\n",
    "        #split on semi-colon\n",
    "        row = line.decode().strip().split(\";\")\n",
    "        #put labels in separate array\n",
    "        labels.append(float(row[-1]))\n",
    "        #remove label from row\n",
    "        row.pop()\n",
    "        #convert row to floats\n",
    "        floatRow = [float(num) for num in row]\n",
    "        xList.append(floatRow)\n",
    "\n",
    "#Normalize columns in x and labels\n",
    "#Note: be careful about normalization.  Some penalized regression packages include it\n",
    "#and some don't.\n",
    "\n",
    "nrows = len(xList)\n",
    "ncols = len(xList[0])\n",
    "\n",
    "#calculate means and variances\n",
    "xMeans = []\n",
    "xSD = []\n",
    "for i in range(ncols):\n",
    "    col = [xList[j][i] for j in range(nrows)]\n",
    "    mean = sum(col)/nrows\n",
    "    xMeans.append(mean)\n",
    "    colDiff = [(xList[j][i] - mean) for j in range(nrows)]\n",
    "    sumSq = sum([colDiff[i] * colDiff[i] for i in range(nrows)])\n",
    "    stdDev = sqrt(sumSq/nrows)\n",
    "    xSD.append(stdDev)\n",
    "\n",
    "#use calculate mean and standard deviation to normalize xList\n",
    "xNormalized = []\n",
    "for i in range(nrows):\n",
    "    rowNormalized = [(xList[i][j] - xMeans[j])/xSD[j] for j in range(ncols)]\n",
    "    xNormalized.append(rowNormalized)\n",
    "\n",
    "#Normalize labels\n",
    "meanLabel = sum(labels)/nrows\n",
    "sdLabel = sqrt(sum([(labels[i] - meanLabel) * (labels[i] - meanLabel) for i in range(nrows)])/nrows)\n",
    "\n",
    "labelNormalized = [(labels[i] - meanLabel)/sdLabel for i in range(nrows)]\n",
    "\n",
    "#Convert list of list to np array for input to sklearn packages\n",
    "\n",
    "#Unnormalized labels\n",
    "Y = numpy.array(labels)\n",
    "\n",
    "#normalized lables\n",
    "Y = numpy.array(labelNormalized)\n",
    "\n",
    "#Unnormalized X's\n",
    "X = numpy.array(xList)\n",
    "\n",
    "#Normlized Xss\n",
    "#X = numpy.array(xNormalized)\n",
    "\n",
    "alphas, coefs, _  = linear_model.lasso_path(X, Y,  return_models=False)\n",
    "\n",
    "\n",
    "plot.plot(alphas,coefs.T)\n",
    "\n",
    "plot.xlabel('alpha')\n",
    "plot.ylabel('Coefficients')\n",
    "plot.axis('tight')\n",
    "plot.semilogx()\n",
    "ax = plot.gca()\n",
    "ax.invert_xaxis()\n",
    "plot.show()\n",
    "\n",
    "nattr, nalpha = coefs.shape\n",
    "\n",
    "#find coefficient ordering\n",
    "nzList = []\n",
    "for iAlpha in range(1,nalpha):\n",
    "    coefList = list(coefs[: ,iAlpha])\n",
    "    nzCoef = [index for index in range(nattr) if coefList[index] != 0.0]\n",
    "    for q in nzCoef:\n",
    "        if not(q in nzList):\n",
    "            nzList.append(q)\n",
    "\n",
    "nameList = [names[nzList[i]] for i in range(len(nzList))]\n",
    "print(\"Attributes Ordered by How Early They Enter the Model\", nameList)\n",
    "\n",
    "#find coefficients corresponding to best alpha value. alpha value corresponding to\n",
    "#normalized X and normalized Y is 0.013561387700964642\n",
    "\n",
    "alphaStar = 0.013561387700964642\n",
    "indexLTalphaStar = [index for index in range(100) if alphas[index] > alphaStar]\n",
    "indexStar = max(indexLTalphaStar)\n",
    "\n",
    "#here's the set of coefficients to deploy\n",
    "coefStar = list(coefs[:,indexStar])\n",
    "print(\"Best Coefficient Values \", coefStar)\n",
    "\n",
    "#The coefficients on normalized attributes give another slightly different ordering\n",
    "\n",
    "absCoef = [abs(a) for a in coefStar]\n",
    "\n",
    "#sort by magnitude\n",
    "coefSorted = sorted(absCoef, reverse=True)\n",
    "\n",
    "idxCoefSize = [absCoef.index(a) for a in coefSorted if not(a == 0.0)]\n",
    "\n",
    "namesList2 = [names[idxCoefSize[i]] for i in range(len(idxCoefSize))]\n",
    "\n",
    "print(\"Attributes Ordered by Coef Size at Optimum alpha\", namesList2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### wineLassoCV.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7faea1e891d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "alpha Value that Minimizes CV Error   0.013561387701\n",
      "Minimum MSE   0.6655849206\n"
     ]
    }
   ],
   "source": [
    "__author__ = 'mike-bowles'\n",
    "\n",
    "import urllib.request, urllib.error, urllib.parse\n",
    "import numpy\n",
    "from sklearn import datasets, linear_model\n",
    "from sklearn.linear_model import LassoCV\n",
    "from math import sqrt\n",
    "import matplotlib.pyplot as plot\n",
    "\n",
    "#read data into iterable\n",
    "target_url = \"http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv\"\n",
    "data = urllib.request.urlopen(target_url)\n",
    "\n",
    "xList = []\n",
    "labels = []\n",
    "names = []\n",
    "firstLine = True\n",
    "for line in data:\n",
    "    if firstLine:\n",
    "        names = line.decode().strip().split(\";\")\n",
    "        firstLine = False\n",
    "    else:\n",
    "        #split on semi-colon\n",
    "        row = line.decode().strip().split(\";\")\n",
    "        #put labels in separate array\n",
    "        labels.append(float(row[-1]))\n",
    "        #remove label from row\n",
    "        row.pop()\n",
    "        #convert row to floats\n",
    "        floatRow = [float(num) for num in row]\n",
    "        xList.append(floatRow)\n",
    "\n",
    "#Normalize columns in x and labels\n",
    "#Note: be careful about normalization.  Some penalized regression packages include it\n",
    "#and some don't.\n",
    "\n",
    "nrows = len(xList)\n",
    "ncols = len(xList[0])\n",
    "\n",
    "#calculate means and variances\n",
    "xMeans = []\n",
    "xSD = []\n",
    "for i in range(ncols):\n",
    "    col = [xList[j][i] for j in range(nrows)]\n",
    "    mean = sum(col)/nrows\n",
    "    xMeans.append(mean)\n",
    "    colDiff = [(xList[j][i] - mean) for j in range(nrows)]\n",
    "    sumSq = sum([colDiff[i] * colDiff[i] for i in range(nrows)])\n",
    "    stdDev = sqrt(sumSq/nrows)\n",
    "    xSD.append(stdDev)\n",
    "\n",
    "#use calculate mean and standard deviation to normalize xList\n",
    "xNormalized = []\n",
    "for i in range(nrows):\n",
    "    rowNormalized = [(xList[i][j] - xMeans[j])/xSD[j] for j in range(ncols)]\n",
    "    xNormalized.append(rowNormalized)\n",
    "\n",
    "#Normalize labels\n",
    "meanLabel = sum(labels)/nrows\n",
    "sdLabel = sqrt(sum([(labels[i] - meanLabel) * (labels[i] - meanLabel) for i in range(nrows)])/nrows)\n",
    "\n",
    "labelNormalized = [(labels[i] - meanLabel)/sdLabel for i in range(nrows)]\n",
    "\n",
    "#Convert list of list to np array for input to sklearn packages\n",
    "\n",
    "#Unnormalized labels\n",
    "Y = numpy.array(labels)\n",
    "\n",
    "#normalized lables\n",
    "Y = numpy.array(labelNormalized)\n",
    "\n",
    "#Unnormalized X's\n",
    "X = numpy.array(xList)\n",
    "\n",
    "#Normlized Xss\n",
    "X = numpy.array(xNormalized)\n",
    "\n",
    "#Call LassoCV from sklearn.linear_model\n",
    "wineModel = LassoCV(cv=10).fit(X, Y)\n",
    "\n",
    "# Display results\n",
    "\n",
    "\n",
    "plot.figure()\n",
    "plot.plot(wineModel.alphas_, wineModel.mse_path_, ':')\n",
    "plot.plot(wineModel.alphas_, wineModel.mse_path_.mean(axis=-1),\n",
    "         label='Average MSE Across Folds', linewidth=2)\n",
    "plot.axvline(wineModel.alpha_, linestyle='--',\n",
    "            label='CV Estimate of Best alpha')\n",
    "plot.semilogx()\n",
    "plot.legend()\n",
    "ax = plot.gca()\n",
    "ax.invert_xaxis()\n",
    "plot.xlabel('alpha')\n",
    "plot.ylabel('Mean Square Error')\n",
    "plot.axis('tight')\n",
    "plot.show()\n",
    "\n",
    "#print out the value of alpha that minimizes the Cv-error\n",
    "print(\"alpha Value that Minimizes CV Error  \",wineModel.alpha_)\n",
    "print(\"Minimum MSE  \", min(wineModel.mse_path_.mean(axis=-1)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
